package org.jsola.hr.dto.excel;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import org.jsola.core.dto.BaseDTO;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

import static org.jsola.hr.example.SocDispatchEmpAddExample.*;

/**
 *【社保派单员工表_增员】excel导入对象
 * @author zhr
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(description = "【社保派单员工表_增员】excel导入对象")
public class SocDispatchEmpAddImportDTO extends BaseDTO {

    private static final long serialVersionUID = 1L;

    /**
     * excel开始自定义的列,从第0列开始
     */
    private static final int startMap = 7;

    @ApiModelProperty(notes = N_NAME, example = E_NAME, required = true)
    @NotNull(message = M_NAME_NOT_NULL)
    @Length(max = 50, message = M_NAME_MAX)
    @ExcelProperty(value = N_NAME)
    private String name;

    @ApiModelProperty(notes = N_PHONE, example = E_PHONE)
    @Length(max = 20, message = M_PHONE_MAX)
    @ExcelProperty(value = N_PHONE)
    private String phone;

    @ApiModelProperty(notes = N_ID_CARD, example = E_ID_CARD, required = true)
    @NotNull(message = M_ID_CARD_NOT_NULL)
    @Length(max = 32, message = M_ID_CARD_MAX)
    @ExcelProperty(value = N_ID_CARD)
    private String idCard;

    @ApiModelProperty(notes = N_SOC_PROG_NAME, example = E_SOC_PROG_NAME, required = true)
    @NotNull(message = M_SOC_PROG_NAME_NOT_NULL)
    @Length(max = 100, message = M_SOC_PROG_NAME_MAX)
    @ExcelProperty(value = N_SOC_PROG_NAME)
    private String socProgName;

    @ApiModelProperty(notes = N_SOC_START_DATE, example = E_SOC_START_DATE)
    @ExcelProperty(value = N_SOC_START_DATE)
    private Date socStartDate;

    @ApiModelProperty(notes = N_FUND_START_DATE, example = E_FUND_START_DATE)
    @ExcelProperty(value = N_FUND_START_DATE)
    private Date fundStartDate;

    @ApiModelProperty(notes = N_IS_SHIFT, example = E_IS_SHIFT)
    @ExcelProperty(value = N_IS_SHIFT)
    private Boolean isShift;

    @ApiModelProperty(notes = "参保基数自定义0_养老基数")
    @ExcelProperty(value = "参保基数自定义0_养老基数", index = startMap)
    private BigDecimal base0;

    @ApiModelProperty(notes = "参保基数自定义1_失业基数")
    @ExcelProperty(value = "参保基数自定义1_失业基数", index = startMap + 1)
    private BigDecimal base1;

    @ApiModelProperty(notes = "参保基数自定义2_工伤基数")
    @ExcelProperty(value = "参保基数自定义2_工伤基数", index = startMap + 2)
    private BigDecimal base2;

    @ApiModelProperty(notes = "参保基数自定义3_医疗基数")
    @ExcelProperty(value = "参保基数自定义3_医疗基数", index = startMap + 3)
    private BigDecimal base3;

    @ApiModelProperty(notes = "参保基数自定义4_生育基数")
    @ExcelProperty(value = "参保基数自定义4_生育基数", index = startMap + 4)
    private BigDecimal base4;

    @ApiModelProperty(notes = "参保基数自定义5_公积金基数")
    @ExcelProperty(value = "参保基数自定义5_公积金基数", index = startMap + 5)
    private BigDecimal base5;

    @ApiModelProperty(notes = "参保基数自定义6")
    @ExcelProperty(value = "参保基数自定义6", index = startMap + 6)
    private BigDecimal base6;

    @ApiModelProperty(notes = "参保基数自定义7")
    @ExcelProperty(value = "参保基数自定义7", index = startMap + 7)
    private BigDecimal base7;

    @ApiModelProperty(notes = "参保基数自定义8")
    @ExcelProperty(value = "参保基数自定义8", index = startMap + 8)
    private BigDecimal base8;

    @ApiModelProperty(notes = "参保基数自定义9")
    @ExcelProperty(value = "参保基数自定义9", index = startMap + 9)
    private BigDecimal base9;

    @ApiModelProperty(notes = "参保基数自定义10")
    @ExcelProperty(value = "参保基数自定义10", index = startMap + 10)
    private BigDecimal base10;

    @ApiModelProperty(notes = "参保基数自定义11")
    @ExcelProperty(value = "参保基数自定义11", index = startMap + 11)
    private BigDecimal base11;

    @ApiModelProperty(notes = "参保基数自定义12")
    @ExcelProperty(value = "参保基数自定义12", index = startMap + 12)
    private BigDecimal base12;

    @ApiModelProperty(notes = "参保基数自定义13")
    @ExcelProperty(value = "参保基数自定义13", index = startMap + 13)
    private BigDecimal base13;

    @ApiModelProperty(notes = "参保基数自定义14")
    @ExcelProperty(value = "参保基数自定义14", index = startMap + 14)
    private BigDecimal base14;

    @ApiModelProperty(notes = "参保基数自定义15")
    @ExcelProperty(value = "参保基数自定义15", index = startMap + 15)
    private BigDecimal base15;

    @ApiModelProperty(notes = "参保基数自定义16")
    @ExcelProperty(value = "参保基数自定义16", index = startMap + 16)
    private BigDecimal base16;

    @ApiModelProperty(notes = "参保基数自定义17")
    @ExcelProperty(value = "参保基数自定义17", index = startMap + 17)
    private BigDecimal base17;

    @ApiModelProperty(notes = "参保基数自定义18")
    @ExcelProperty(value = "参保基数自定义18", index = startMap + 18)
    private BigDecimal base18;

    @ApiModelProperty(notes = "参保基数自定义19")
    @ExcelProperty(value = "参保基数自定义19", index = startMap + 19)
    private BigDecimal base19;

    @ApiModelProperty(notes = "参保基数自定义20")
    @ExcelProperty(value = "参保基数自定义20", index = startMap + 20)
    private BigDecimal base20;

    @ApiModelProperty(notes = "参保基数自定义21")
    @ExcelProperty(value = "参保基数自定义21", index = startMap + 21)
    private BigDecimal base21;

    @ApiModelProperty(notes = "参保基数自定义22")
    @ExcelProperty(value = "参保基数自定义22", index = startMap + 22)
    private BigDecimal base22;

    @ApiModelProperty(notes = "参保基数自定义23")
    @ExcelProperty(value = "参保基数自定义23", index = startMap + 23)
    private BigDecimal base23;

    @ApiModelProperty(notes = "参保基数自定义24")
    @ExcelProperty(value = "参保基数自定义24", index = startMap + 24)
    private BigDecimal base24;

    @ApiModelProperty(notes = "参保基数自定义25")
    @ExcelProperty(value = "参保基数自定义25", index = startMap + 25)
    private BigDecimal base25;

    @ApiModelProperty(notes = "参保基数自定义26")
    @ExcelProperty(value = "参保基数自定义26", index = startMap + 26)
    private BigDecimal base26;

    @ApiModelProperty(notes = "参保基数自定义27")
    @ExcelProperty(value = "参保基数自定义27", index = startMap + 27)
    private BigDecimal base27;

    @ApiModelProperty(notes = "参保基数自定义28")
    @ExcelProperty(value = "参保基数自定义28", index = startMap + 28)
    private BigDecimal base28;

    @ApiModelProperty(notes = "参保基数自定义29")
    @ExcelProperty(value = "参保基数自定义29", index = startMap + 29)
    private BigDecimal base29;

    @ApiModelProperty(notes = "参保基数自定义30")
    @ExcelProperty(value = "参保基数自定义30", index = startMap + 30)
    private BigDecimal base30;
}

